- name: push packages out
  hosts: anitya-frontend:anitya-backend
  user: root
  vars_files:
    - /srv/web/infra/ansible/vars/global.yml
    - "/srv/private/ansible/vars.yml"
    - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
  handlers:
    - import_tasks: "{{ handlers_path }}/restart_services.yml"
  tasks:
    - name: clean all metadata {%if testing%}(with infrastructure-testing on){%endif%}
      command: yum clean all {%if testing%} --enablerepo=infrastructure-tags-stg {%endif%}
      check_mode: no
    - name: yum update anitya packages from main repo
      yum: name="anitya" state=latest
      when: not testing
    - name: yum update anitya packages from testing repo
      yum: name="anitya" state=latest enablerepo=infrastructure-tags-stg
      when: testing

- name: verify the frontend
  hosts: anitya-frontend
  user: root
  vars_files:
    - /srv/web/infra/ansible/vars/global.yml
    - "/srv/private/ansible/vars.yml"
    - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
  handlers:
    - import_tasks: "{{ handlers_path }}/restart_services.yml"
  pre_tasks:
    - name: tell nagios to shush w.r.t. the frontend
      nagios: action=downtime minutes=15 service=host host={{ inventory_hostname_short }}{{ env_suffix }}
      delegate_to: noc01.phx2.fedoraproject.org
      ignore_errors: true
  roles:
    - anitya/frontend
    - anitya/fedmsg
  post_tasks:
    - name: tell nagios to unshush w.r.t. the frontend
      nagios: action=unsilence service=host host={{ inventory_hostname_short }}{{ env_suffix }}
      delegate_to: noc01.phx2.fedoraproject.org
      ignore_errors: true
    - service: name="httpd" state=restarted

- name: verify the backend and then upgrade the db
  hosts: anitya-backend
  user: root
  vars_files:
    - /srv/web/infra/ansible/vars/global.yml
    - "/srv/private/ansible/vars.yml"
    - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
  handlers:
    - import_tasks: "{{ handlers_path }}/restart_services.yml"
  pre_tasks:
    - name: tell nagios to shush w.r.t. the backend
      nagios: action=downtime minutes=15 service=host host={{ inventory_hostname_short }}{{ env_suffix }}
      delegate_to: noc01.phx2.fedoraproject.org
      ignore_errors: true
  roles:
    - anitya/backend
    - anitya/fedmsg
  tasks:
    - name: Upgrade the database
      command: /usr/bin/alembic -c /etc/anitya/alembic.ini upgrade head
      args:
        chdir: /usr/share/anitya/
      when: inventory_hostname.startswith('anitya-backend')
  post_tasks:
    - name: tell nagios to unshush w.r.t. the backend
      nagios: action=unsilence service=host host={{ inventory_hostname_short }}{{ env_suffix }}
      delegate_to: noc01.phx2.fedoraproject.org
      ignore_errors: true
